In the Internet Engineering Task Force's (IETF) Differentiated Services architecture (S. Blake et al., “An Architecture for Differentiated Services”, IETF RFC 2475) for providing IP Quality of Service (QoS), each IP packet carries a Differentiated Services Code-Point (DSCP) for the Differentiated Services (DS) field. DSCP is an index into a list of Per-Hop Behaviors (PHBs) that a packet may be entitled to at each DS-compliant node or router. A PHB may include a probability or preference to drop a packet of a certain class. By obtaining similar PHB at each network node using the DSCP as a tag or marker, an IP flow can realize end-to-end QoS.
In the IETF model, a source sends packets to a network, which may have wireless links. A first-hop router, also known as ISP router, places the appropriate DSCP in the DS field of each packet. If the source sends traffic, comprised of data packets in a flow, according to an agreed contract or policy, the packets are considered “in-profile” and marked with an appropriate DSCP. For example, those packets that are received according to the agreed contract, may be marked with a selected priority level from among several priority levels. Each priority level may have at least one DSCP associated with the priority level such that no DSCP is assigned more than a single priority level. Each of the priority levels denote a drop precedence, or color of packet. A high priority level is less likely to be dropped than a lower priority level. A subordinate priority level is any priority level that is not the highest priority level.
In the Three Color Marker (TCM) model (see J. Heinanen and R. Guerin, “A Two Rate Three Color Marker”, Internet Draft, May 1999), a packet marked with a priority level of green is least likely to be dropped at a router, as compared to packets marked with priority levels of yellow or red. In the TCM model, the highest priority level is green. Red and yellow are subordinate priority levels. Thus it is advantageous in a network of network entities or routers that use multiple priority marked packets, e.g. TCM, for a user to have as many data packets in a flow marked green as possible, at least from the point of view of that user.
Unfortunately, since the resources at each router, and of the network generally, are limited, what is good for a single user, may have a negative impact on other users. If a single user monopolized the entire buffer queue at a router, that would leave the router unavailable to other users who intend to use the router. Marking a preponderance of data packets of a first user green, while marking a minority of data packets of a second user as green, would have a similar, but less pronounced effect. In that situation, a smaller percentage of the first user's packets would be dropped, (since green is low drop probability) as compared to the packets of the second user, which has a greater percentage of packets marked with the inferior priority levels of red and yellow.
Fairness is a measure of proportionally marking packets (with different colors corresponding to different packet-drop precedences) originating from a user of a customer consuming some bandwidth X, wherein the proportion of packets marked for the user of the customer is as close as possible to the proportion of packets marked of a second user of the customer, even though the second user may currently consume a bandwidth different than X. Necessarily, the proportion of packets marked, is a measure of the number of packets from a user marked over a period of time, compared to the overall set of packets of that user being considered for marking over the same period of time.
TCM tends to permit high priority marking proportions to vary considerably between users of a common customer, when compared at the same time. Such a disparity can lead to dissatisfaction of users, not entirely unlike that experienced by motorists who encounter a traffic jam.